#include <stdio.h>
#include <stdlib.h>
#include "protocole_com.h"
#include "client.h"
#include <string.h>
#include "itoa.h"

/* attend la reception d'un message
 *
 * serveur_com_recoit_message(header, size);
 *
 * serveur_com_recoit_message(message, size);
 * */
int com_recoit_message(char * message)
{
    char* tmp;
    tmp =Reception ();
    if(NULL == tmp)
	return 1;
    strcpy(message, tmp);
    free(tmp);
    fprintf(stderr, "COM : j'ai recu le message :%s\n",message);
    return 0;

}


/*attend la réception d'une fiche
 *
 * serveur_com_recoit_structure(&robert);
 *
 */
int com_recoit_structure(pFiche  *fi)
{
    ficheBin f ;
    if( 0 == ReceptionBinaire(f.c, sizeof(f.f)))
	return 1;
    fprintf(stderr, "COM : je recoit le fiche : %s\n", f.f.c.nom);
    return  copierFiche(fi, &(f.f));
}


/*envoie le char passé en paramètre
 * serveur_com_envoie_message("000");
 * serveur_com_envoie_message("42 tout ce passe bien");
 */
int com_envoie_message(char* msg)
{


    fprintf(stderr, "COM : j'emet le message :%s\n",msg);
    return 0== Emission(msg);
}

/*envoie la fiche passé en parametre au client au client
 * serveur_com_envoie_structure(robert);
 * 
 */
int com_envoie_structure(pFiche fi)
{ 
    ficheBin f ;
    f.f = *fi;
    fprintf(stderr, "COM : j'ai émis la fiche %s\n", f.f.c.nom);

    if( 0 == EmissionBinaire(f.c, sizeof(f.f)))
	return 1;
    fprintf(stderr, "COM : j'ai émis la fiche %s\n", f.f.c.nom);
    return  0;

}
